#爬虫数据解析
# re解析（运行最快）  bs4解析（最简单） xpath解析
#三种方式可混合执行


#1.re解析 正则表达式 写一段话 与字符串进行匹配
# 速度快 效率高
#会从一段字符串中提取某一部分（真正想要爬取的部分）
#re模块
import  re
#匹配字符串 所有符合内容  findall

# lst = re.findall(r"\d+","我的电话耗 1000086 还有2223333")
# print(lst)
#
# #finditer: 匹配字符串中所有内容【返回 的是迭代器】
# it = re.finditer(r"\d+","我的电话耗 1000086 还有2223333")
# #从迭代器中获取数据
# print(it)
# for i in it:
#     print(i)
#     print(i.group())
#
# #search  全文匹配找到一个结果就返回   返回的是 match对象  在match中拿数据需要.group
# s = re.search(r"\d+","我的电话耗 1000086 还有2223333")
# print(s)
#
# #match 相当与从头开始匹配  对等加一个^
#
# #预加载正则表达式
# obj = re.compile(r"\d+")
#正则中的内容单独提取
s="""
                                <a href="http://casad.cas.cn/ysxx2022/ysmd/xxjs/200906/t20090624_1807840.html" target="_blank">包为民</a>
                              
                          
                              
                                  <a href="http://casad.cas.cn/ysxx2022/ysmd/xxjs/200906/t20090624_1807836.html" target="_blank">陈桂林</a>
                              
                          
                              
                                  <a href="http://casad.cas.cn/ysxx2022/ysmd/xxjs/200906/t20090624_1807834.html" target="_blank">陈国良</a>
                              
                          
                              
                                  <a href="http://casad.cas.cn/ysxx2022/ysmd/xxjs/200906/t20090624_1807832.html" target="_blank">陈翰馥</a>
                              
                          
                              
                                  <a href="http://casad.cas.cn/ysxx2022/ysmd/xxjs/200906/t20090624_1807830.html" target="_blank">陈俊亮</a>
                              
                          
                              
                                  <a href="http://casad.cas.cn/ysxx2022/ysmd/xxjs/202312/t20231205_4990298.html" target="_blank">陈小前</a>
                                  """
obj = re.compile(r"<a href=\".*?\">(?P<name>\w+)</a>",re.S) #让点可以匹配换行 re.S  括号+ ? + P + <> + "<xxx>里面填写标签" ，对应group("xxx")
result1= obj.finditer(s)

for it in result1:
    print(it.group("name"))

